import { observe } from "./observer";
import { proxy } from './utils';
function initState(vm) {
    var options = vm.$options;

    if (options.props) {
        initProps(vm);
    }

    if (options.methods) {
        initMethods(vm);
    }

    if (options.data) {
        initData(vm);
    }

    if (options.computed) {
        initComputed(vm);
    }

    if (options.watch) {
        initWatch(vm);
    }
}

function initProps(vm) { }

function initMethods(vm) { }

function initComputed(vm) { }

function initWatch(vm) { }

function initData(vm) {
    var data = vm.$options.data;
    vm._data = data = typeof data === 'function' ? data.call(vm) : data;
    for (const key in data) {
        proxy(vm, '_data', key);
    }

    observe(vm._data)
}

export {
    initState
}